<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-- | Module environment</span><span>
</span><span id="line-2"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Unit.Module.Env</span><span>
</span><span id="line-3"></span><span>   </span><span class="hs-special">(</span><span> </span><span class="annot"><span class="hs-comment">-- * Module mappings</span></span><span>
</span><span id="line-4"></span><span>     </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier">ModuleEnv</span></a></span><span>
</span><span id="line-5"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#elemModuleEnv"><span class="hs-identifier">elemModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnv"><span class="hs-identifier">extendModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvList"><span class="hs-identifier">extendModuleEnvList</span></a></span><span>
</span><span id="line-6"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvList_C"><span class="hs-identifier">extendModuleEnvList_C</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#plusModuleEnv_C"><span class="hs-identifier">plusModuleEnv_C</span></a></span><span>
</span><span id="line-7"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleEnvList"><span class="hs-identifier">delModuleEnvList</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleEnv"><span class="hs-identifier">delModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#plusModuleEnv"><span class="hs-identifier">plusModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupModuleEnv"><span class="hs-identifier">lookupModuleEnv</span></a></span><span>
</span><span id="line-8"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupWithDefaultModuleEnv"><span class="hs-identifier">lookupWithDefaultModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#mapModuleEnv"><span class="hs-identifier">mapModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#mkModuleEnv"><span class="hs-identifier">mkModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyModuleEnv"><span class="hs-identifier">emptyModuleEnv</span></a></span><span>
</span><span id="line-9"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvKeys"><span class="hs-identifier">moduleEnvKeys</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvElts"><span class="hs-identifier">moduleEnvElts</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvToList"><span class="hs-identifier">moduleEnvToList</span></a></span><span>
</span><span id="line-10"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#unitModuleEnv"><span class="hs-identifier">unitModuleEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#isEmptyModuleEnv"><span class="hs-identifier">isEmptyModuleEnv</span></a></span><span>
</span><span id="line-11"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvWith"><span class="hs-identifier">extendModuleEnvWith</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#filterModuleEnv"><span class="hs-identifier">filterModuleEnv</span></a></span><span>
</span><span id="line-12"></span><span>
</span><span id="line-13"></span><span>     </span><span class="annot"><span class="hs-comment">-- * ModuleName mappings</span></span><span>
</span><span id="line-14"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleNameEnv"><span class="hs-identifier">ModuleNameEnv</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#DModuleNameEnv"><span class="hs-identifier">DModuleNameEnv</span></a></span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span>     </span><span class="annot"><span class="hs-comment">-- * Sets of Modules</span></span><span>
</span><span id="line-17"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier">ModuleSet</span></a></span><span>
</span><span id="line-18"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyModuleSet"><span class="hs-identifier">emptyModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#mkModuleSet"><span class="hs-identifier">mkModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleSetElts"><span class="hs-identifier">moduleSetElts</span></a></span><span>
</span><span id="line-19"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleSet"><span class="hs-identifier">extendModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleSetList"><span class="hs-identifier">extendModuleSetList</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleSet"><span class="hs-identifier">delModuleSet</span></a></span><span>
</span><span id="line-20"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#elemModuleSet"><span class="hs-identifier">elemModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#intersectModuleSet"><span class="hs-identifier">intersectModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#minusModuleSet"><span class="hs-identifier">minusModuleSet</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#unionModuleSet"><span class="hs-identifier">unionModuleSet</span></a></span><span>
</span><span id="line-21"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#unitModuleSet"><span class="hs-identifier">unitModuleSet</span></a></span><span>
</span><span id="line-22"></span><span>
</span><span id="line-23"></span><span>     </span><span class="annot"><span class="hs-comment">-- * InstalledModuleEnv</span></span><span>
</span><span id="line-24"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier">InstalledModuleEnv</span></a></span><span>
</span><span id="line-25"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyInstalledModuleEnv"><span class="hs-identifier">emptyInstalledModuleEnv</span></a></span><span>
</span><span id="line-26"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupInstalledModuleEnv"><span class="hs-identifier">lookupInstalledModuleEnv</span></a></span><span>
</span><span id="line-27"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendInstalledModuleEnv"><span class="hs-identifier">extendInstalledModuleEnv</span></a></span><span>
</span><span id="line-28"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#filterInstalledModuleEnv"><span class="hs-identifier">filterInstalledModuleEnv</span></a></span><span>
</span><span id="line-29"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#delInstalledModuleEnv"><span class="hs-identifier">delInstalledModuleEnv</span></a></span><span>
</span><span id="line-30"></span><span>   </span><span class="hs-special">)</span><span>
</span><span id="line-31"></span><span class="hs-keyword">where</span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-34"></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html"><span class="hs-identifier">GHC.Unit.Module.Name</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier">ModuleName</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html"><span class="hs-identifier">GHC.Types.Unique</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html"><span class="hs-identifier">GHC.Types.Unique.FM</span></a></span><span>
</span><span id="line-38"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.DFM.html"><span class="hs-identifier">GHC.Types.Unique.DFM</span></a></span><span>
</span><span id="line-39"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html"><span class="hs-identifier">GHC.Unit.Types</span></a></span><span>
</span><span id="line-40"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Misc.html"><span class="hs-identifier">GHC.Utils.Misc</span></a></span><span>
</span><span id="line-41"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.List.html#"><span class="hs-identifier">Data.List</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../base/src/Data.OldList.html#sortBy"><span class="hs-identifier">sortBy</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Data.OldList.html#sort"><span class="hs-identifier">sort</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Ord.html#"><span class="hs-identifier">Data.Ord</span></a></span><span>
</span><span id="line-43"></span><span>
</span><span id="line-44"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Coerce.html#"><span class="hs-identifier">Data.Coerce</span></a></span><span>
</span><span id="line-45"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier">Map</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-46"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.html#"><span class="hs-identifier">Data.Set</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier">Set</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-47"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-48"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.html#"><span class="hs-identifier">Data.Set</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Set</span></span><span>
</span><span id="line-49"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="GHC.Data.FiniteMap.html"><span class="hs-identifier">GHC.Data.FiniteMap</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="hs-comment">-- | A map keyed off of 'Module's</span><span>
</span><span id="line-52"></span><span class="hs-keyword">newtype</span><span> </span><span id="ModuleEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802372"><span class="annot"><a href="#local-6989586621680802372"><span class="hs-identifier hs-type">elt</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="ModuleEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802372"><span class="hs-identifier hs-type">elt</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-53"></span><span>
</span><span id="line-54"></span><span class="hs-comment">{-
Note [ModuleEnv performance and determinism]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To prevent accidental reintroduction of nondeterminism the Ord instance
for Module was changed to not depend on Unique ordering and to use the
lexicographic order. This is potentially expensive, but when measured
there was no difference in performance.

To be on the safe side and not pessimize ModuleEnv uses nondeterministic
ordering on Module and normalizes by doing the lexicographic sort when
turning the env to a list.
See Note [Unique Determinism] for more information about the source of
nondeterminismand and Note [Deterministic UniqFM] for explanation of why
it matters for maps.
-}</span><span>
</span><span id="line-69"></span><span>
</span><span id="line-70"></span><span class="hs-keyword">newtype</span><span> </span><span id="NDModule"><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="NDModule"><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span></span><span> </span><span class="hs-special">{</span><span> </span><span id="unNDModule"><span class="annot"><span class="annottext">NDModule -&gt; Module
</span><a href="GHC.Unit.Module.Env.html#unNDModule"><span class="hs-identifier hs-var hs-var">unNDModule</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-special">}</span><span>
</span><span id="line-71"></span><span>  </span><span class="hs-keyword">deriving</span><span> </span><span id="local-6989586621680802166"><span id="local-6989586621680802172"><span class="annot"><span class="annottext">NDModule -&gt; NDModule -&gt; Bool
(NDModule -&gt; NDModule -&gt; Bool)
-&gt; (NDModule -&gt; NDModule -&gt; Bool) -&gt; Eq NDModule
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: NDModule -&gt; NDModule -&gt; Bool
$c/= :: NDModule -&gt; NDModule -&gt; Bool
== :: NDModule -&gt; NDModule -&gt; Bool
$c== :: NDModule -&gt; NDModule -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span>
</span><span id="line-72"></span><span>  </span><span class="hs-comment">-- A wrapper for Module with faster nondeterministic Ord.</span><span>
</span><span id="line-73"></span><span>  </span><span class="hs-comment">-- Don't export, See [ModuleEnv performance and determinism]</span><span>
</span><span id="line-74"></span><span>
</span><span id="line-75"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680802145"><span id="local-6989586621680802147"><span id="local-6989586621680802149"><span id="local-6989586621680802151"><span id="local-6989586621680802153"><span id="local-6989586621680802155"><span class="annot"><span class="hs-identifier hs-type">Ord</span></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span></span></span></span></span></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-76"></span><span>  </span><span id="local-6989586621680802137"><span class="annot"><span class="annottext">compare :: NDModule -&gt; NDModule -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var">compare</span></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span id="local-6989586621680802134"><span class="annot"><span class="annottext">GenUnit UnitId
</span><a href="#local-6989586621680802134"><span class="hs-identifier hs-var">p1</span></a></span></span><span> </span><span id="local-6989586621680802133"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680802133"><span class="hs-identifier hs-var">n1</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span id="local-6989586621680802132"><span class="annot"><span class="annottext">GenUnit UnitId
</span><a href="#local-6989586621680802132"><span class="hs-identifier hs-var">p2</span></a></span></span><span> </span><span id="local-6989586621680802131"><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680802131"><span class="hs-identifier hs-var">n2</span></a></span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-77"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenUnit UnitId -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnit UnitId
</span><a href="#local-6989586621680802134"><span class="hs-identifier hs-var">p1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-operator hs-var">`nonDetCmpUnique`</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnit UnitId -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnit UnitId
</span><a href="#local-6989586621680802132"><span class="hs-identifier hs-var">p2</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ordering -&gt; Ordering -&gt; Ordering
</span><a href="GHC.Utils.Misc.html#thenCmp"><span class="hs-operator hs-var">`thenCmp`</span></a></span><span>
</span><span id="line-78"></span><span>    </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ModuleName -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680802133"><span class="hs-identifier hs-var">n1</span></a></span><span> </span><span class="annot"><span class="annottext">Unique -&gt; Unique -&gt; Ordering
</span><a href="GHC.Types.Unique.html#nonDetCmpUnique"><span class="hs-operator hs-var">`nonDetCmpUnique`</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName
</span><a href="#local-6989586621680802131"><span class="hs-identifier hs-var">n2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-79"></span><span>
</span><span id="line-80"></span><span id="local-6989586621680802376"><span class="annot"><a href="GHC.Unit.Module.Env.html#filterModuleEnv"><span class="hs-identifier hs-type">filterModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802376"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802376"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802376"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-81"></span><span id="filterModuleEnv"><span class="annot"><span class="annottext">filterModuleEnv :: forall a. (Module -&gt; a -&gt; Bool) -&gt; ModuleEnv a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#filterModuleEnv"><span class="hs-identifier hs-var hs-var">filterModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802127"><span class="annot"><span class="annottext">Module -&gt; a -&gt; Bool
</span><a href="#local-6989586621680802127"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802126"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802126"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-82"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(NDModule -&gt; a -&gt; Bool) -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. (k -&gt; a -&gt; Bool) -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#filterWithKey"><span class="hs-identifier hs-var">Map.filterWithKey</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; a -&gt; Bool
</span><a href="#local-6989586621680802127"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">(Module -&gt; a -&gt; Bool)
-&gt; (NDModule -&gt; Module) -&gt; NDModule -&gt; a -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Module
</span><a href="GHC.Unit.Module.Env.html#unNDModule"><span class="hs-identifier hs-var hs-var">unNDModule</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802126"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-83"></span><span>
</span><span id="line-84"></span><span id="local-6989586621680802366"><span class="annot"><a href="GHC.Unit.Module.Env.html#elemModuleEnv"><span class="hs-identifier hs-type">elemModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802366"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-85"></span><span id="elemModuleEnv"><span class="annot"><span class="annottext">elemModuleEnv :: forall a. Module -&gt; ModuleEnv a -&gt; Bool
</span><a href="GHC.Unit.Module.Env.html#elemModuleEnv"><span class="hs-identifier hs-var hs-var">elemModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802122"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802122"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802121"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802121"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Map NDModule a -&gt; Bool
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Bool
</span><a href="../../containers/src/Data.Map.Internal.html#member"><span class="hs-identifier hs-var">Map.member</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802122"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802121"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-86"></span><span>
</span><span id="line-87"></span><span id="local-6989586621680802362"><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnv"><span class="hs-identifier hs-type">extendModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802362"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802362"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802362"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-88"></span><span id="extendModuleEnv"><span class="annot"><span class="annottext">extendModuleEnv :: forall a. ModuleEnv a -&gt; Module -&gt; a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#extendModuleEnv"><span class="hs-identifier hs-var hs-var">extendModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802118"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802118"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802117"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802117"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680802116"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802116"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NDModule -&gt; a -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. Ord k =&gt; k -&gt; a -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#insert"><span class="hs-identifier hs-var">Map.insert</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802117"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802116"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802118"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-89"></span><span>
</span><span id="line-90"></span><span id="local-6989586621680802358"><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvWith"><span class="hs-identifier hs-type">extendModuleEnvWith</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span><span>
</span><span id="line-91"></span><span>                    </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802358"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-92"></span><span id="extendModuleEnvWith"><span class="annot"><span class="annottext">extendModuleEnvWith :: forall a.
(a -&gt; a -&gt; a) -&gt; ModuleEnv a -&gt; Module -&gt; a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#extendModuleEnvWith"><span class="hs-identifier hs-var hs-var">extendModuleEnvWith</span></a></span></span><span> </span><span id="local-6989586621680802113"><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802113"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802112"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802112"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802111"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802111"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680802110"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802110"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-93"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; a -&gt; a) -&gt; NDModule -&gt; a -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. Ord k =&gt; (a -&gt; a -&gt; a) -&gt; k -&gt; a -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#insertWith"><span class="hs-identifier hs-var">Map.insertWith</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802113"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802111"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802110"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802112"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span id="local-6989586621680802354"><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvList"><span class="hs-identifier hs-type">extendModuleEnvList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802354"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621680802354"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802354"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-96"></span><span id="extendModuleEnvList"><span class="annot"><span class="annottext">extendModuleEnvList :: forall a. ModuleEnv a -&gt; [(Module, a)] -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#extendModuleEnvList"><span class="hs-identifier hs-var hs-var">extendModuleEnvList</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802107"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802107"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802106"><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802106"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-97"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[(NDModule, a)] -&gt; Map NDModule a -&gt; Map NDModule a
forall key elt.
Ord key =&gt;
[(key, elt)] -&gt; Map key elt -&gt; Map key elt
</span><a href="GHC.Data.FiniteMap.html#insertList"><span class="hs-identifier hs-var">Map.insertList</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802104"><span class="hs-identifier hs-var">k</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802103"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680802104"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802104"><span class="hs-identifier hs-var">k</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680802103"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802103"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802106"><span class="hs-identifier hs-var">xs</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802107"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span id="local-6989586621680802350"><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleEnvList_C"><span class="hs-identifier hs-type">extendModuleEnvList_C</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span>
</span><span id="line-100"></span><span>                      </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802350"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-101"></span><span id="extendModuleEnvList_C"><span class="annot"><span class="annottext">extendModuleEnvList_C :: forall a.
(a -&gt; a -&gt; a) -&gt; ModuleEnv a -&gt; [(Module, a)] -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#extendModuleEnvList_C"><span class="hs-identifier hs-var hs-var">extendModuleEnvList_C</span></a></span></span><span> </span><span id="local-6989586621680802101"><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802101"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802100"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802100"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802099"><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802099"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-102"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; a -&gt; a)
-&gt; [(NDModule, a)] -&gt; Map NDModule a -&gt; Map NDModule a
forall key elt.
Ord key =&gt;
(elt -&gt; elt -&gt; elt) -&gt; [(key, elt)] -&gt; Map key elt -&gt; Map key elt
</span><a href="GHC.Data.FiniteMap.html#insertListWith"><span class="hs-identifier hs-var">Map.insertListWith</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802101"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802097"><span class="hs-identifier hs-var">k</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802096"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680802097"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802097"><span class="hs-identifier hs-var">k</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680802096"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802096"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802099"><span class="hs-identifier hs-var">xs</span></a></span><span class="hs-special">]</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802100"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-103"></span><span>
</span><span id="line-104"></span><span id="local-6989586621680802346"><span class="annot"><a href="GHC.Unit.Module.Env.html#plusModuleEnv_C"><span class="hs-identifier hs-type">plusModuleEnv_C</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802346"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-105"></span><span id="plusModuleEnv_C"><span class="annot"><span class="annottext">plusModuleEnv_C :: forall a.
(a -&gt; a -&gt; a) -&gt; ModuleEnv a -&gt; ModuleEnv a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#plusModuleEnv_C"><span class="hs-identifier hs-var hs-var">plusModuleEnv_C</span></a></span></span><span> </span><span id="local-6989586621680802094"><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802094"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802093"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802093"><span class="hs-identifier hs-var">e1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802092"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802092"><span class="hs-identifier hs-var">e2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-106"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(a -&gt; a -&gt; a) -&gt; Map NDModule a -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. Ord k =&gt; (a -&gt; a -&gt; a) -&gt; Map k a -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#unionWith"><span class="hs-identifier hs-var">Map.unionWith</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; a -&gt; a
</span><a href="#local-6989586621680802094"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802093"><span class="hs-identifier hs-var">e1</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802092"><span class="hs-identifier hs-var">e2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span id="local-6989586621680802342"><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleEnvList"><span class="hs-identifier hs-type">delModuleEnvList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802342"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802342"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-109"></span><span id="delModuleEnvList"><span class="annot"><span class="annottext">delModuleEnvList :: forall a. ModuleEnv a -&gt; [Module] -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#delModuleEnvList"><span class="hs-identifier hs-var hs-var">delModuleEnvList</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802089"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802089"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802088"><span class="annot"><span class="annottext">[Module]
</span><a href="#local-6989586621680802088"><span class="hs-identifier hs-var">ms</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-110"></span><span>  </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[NDModule] -&gt; Map NDModule a -&gt; Map NDModule a
forall key elt. Ord key =&gt; [key] -&gt; Map key elt -&gt; Map key elt
</span><a href="GHC.Data.FiniteMap.html#deleteList"><span class="hs-identifier hs-var">Map.deleteList</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(Module -&gt; NDModule) -&gt; [Module] -&gt; [NDModule]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">[Module]
</span><a href="#local-6989586621680802088"><span class="hs-identifier hs-var">ms</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802089"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-111"></span><span>
</span><span id="line-112"></span><span id="local-6989586621680802336"><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleEnv"><span class="hs-identifier hs-type">delModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802336"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802336"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-113"></span><span id="delModuleEnv"><span class="annot"><span class="annottext">delModuleEnv :: forall a. ModuleEnv a -&gt; Module -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#delModuleEnv"><span class="hs-identifier hs-var hs-var">delModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802085"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802085"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802084"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802084"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NDModule -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#delete"><span class="hs-identifier hs-var">Map.delete</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802084"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802085"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-114"></span><span>
</span><span id="line-115"></span><span id="local-6989586621680802332"><span class="annot"><a href="GHC.Unit.Module.Env.html#plusModuleEnv"><span class="hs-identifier hs-type">plusModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802332"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802332"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802332"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-116"></span><span id="plusModuleEnv"><span class="annot"><span class="annottext">plusModuleEnv :: forall a. ModuleEnv a -&gt; ModuleEnv a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#plusModuleEnv"><span class="hs-identifier hs-var hs-var">plusModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802081"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802081"><span class="hs-identifier hs-var">e1</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802080"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802080"><span class="hs-identifier hs-var">e2</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Map NDModule a -&gt; Map NDModule a -&gt; Map NDModule a
forall k a. Ord k =&gt; Map k a -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#union"><span class="hs-identifier hs-var">Map.union</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802081"><span class="hs-identifier hs-var">e1</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802080"><span class="hs-identifier hs-var">e2</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-117"></span><span>
</span><span id="line-118"></span><span id="local-6989586621680802328"><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupModuleEnv"><span class="hs-identifier hs-type">lookupModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802328"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802328"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-119"></span><span id="lookupModuleEnv"><span class="annot"><span class="annottext">lookupModuleEnv :: forall a. ModuleEnv a -&gt; Module -&gt; Maybe a
</span><a href="GHC.Unit.Module.Env.html#lookupModuleEnv"><span class="hs-identifier hs-var hs-var">lookupModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802077"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802077"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802076"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802076"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Map NDModule a -&gt; Maybe a
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802076"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802077"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-120"></span><span>
</span><span id="line-121"></span><span id="local-6989586621680802324"><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupWithDefaultModuleEnv"><span class="hs-identifier hs-type">lookupWithDefaultModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802324"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802324"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-122"></span><span id="lookupWithDefaultModuleEnv"><span class="annot"><span class="annottext">lookupWithDefaultModuleEnv :: forall a. ModuleEnv a -&gt; a -&gt; Module -&gt; a
</span><a href="GHC.Unit.Module.Env.html#lookupWithDefaultModuleEnv"><span class="hs-identifier hs-var hs-var">lookupWithDefaultModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802073"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802073"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802072"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802072"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span id="local-6989586621680802071"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802071"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-123"></span><span>  </span><span class="annot"><span class="annottext">a -&gt; NDModule -&gt; Map NDModule a -&gt; a
forall k a. Ord k =&gt; a -&gt; k -&gt; Map k a -&gt; a
</span><a href="../../containers/src/Data.Map.Internal.html#findWithDefault"><span class="hs-identifier hs-var">Map.findWithDefault</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802072"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802071"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802073"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-124"></span><span>
</span><span id="line-125"></span><span id="local-6989586621680802319"><span id="local-6989586621680802320"><span class="annot"><a href="GHC.Unit.Module.Env.html#mapModuleEnv"><span class="hs-identifier hs-type">mapModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680802320"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802319"><span class="hs-identifier hs-type">b</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802320"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802319"><span class="hs-identifier hs-type">b</span></a></span></span></span><span>
</span><span id="line-126"></span><span id="mapModuleEnv"><span class="annot"><span class="annottext">mapModuleEnv :: forall a b. (a -&gt; b) -&gt; ModuleEnv a -&gt; ModuleEnv b
</span><a href="GHC.Unit.Module.Env.html#mapModuleEnv"><span class="hs-identifier hs-var hs-var">mapModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802069"><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621680802069"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802068"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802068"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule b -&gt; ModuleEnv b
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(NDModule -&gt; a -&gt; b) -&gt; Map NDModule a -&gt; Map NDModule b
forall k a b. (k -&gt; a -&gt; b) -&gt; Map k a -&gt; Map k b
</span><a href="../../containers/src/Data.Map.Internal.html#mapWithKey"><span class="hs-identifier hs-var">Map.mapWithKey</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">\</span><span class="annot"><span class="annottext">NDModule
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621680802066"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802066"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">a -&gt; b
</span><a href="#local-6989586621680802069"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802066"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802068"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-127"></span><span>
</span><span id="line-128"></span><span id="local-6989586621680802313"><span class="annot"><a href="GHC.Unit.Module.Env.html#mkModuleEnv"><span class="hs-identifier hs-type">mkModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621680802313"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802313"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-129"></span><span id="mkModuleEnv"><span class="annot"><span class="annottext">mkModuleEnv :: forall a. [(Module, a)] -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#mkModuleEnv"><span class="hs-identifier hs-var hs-var">mkModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802064"><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802064"><span class="hs-identifier hs-var">xs</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[(NDModule, a)] -&gt; Map NDModule a
forall k a. Ord k =&gt; [(k, a)] -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#fromList"><span class="hs-identifier hs-var">Map.fromList</span></a></span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802062"><span class="hs-identifier hs-var">k</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802061"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680802062"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802062"><span class="hs-identifier hs-var">k</span></a></span></span><span class="hs-special">,</span><span id="local-6989586621680802061"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802061"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">[(Module, a)]
</span><a href="#local-6989586621680802064"><span class="hs-identifier hs-var">xs</span></a></span><span class="hs-special">]</span><span class="hs-special">)</span><span>
</span><span id="line-130"></span><span>
</span><span id="line-131"></span><span id="local-6989586621680802309"><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyModuleEnv"><span class="hs-identifier hs-type">emptyModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802309"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-132"></span><span id="emptyModuleEnv"><span class="annot"><span class="annottext">emptyModuleEnv :: forall a. ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#emptyModuleEnv"><span class="hs-identifier hs-var hs-var">emptyModuleEnv</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
forall k a. Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#empty"><span class="hs-identifier hs-var">Map.empty</span></a></span><span>
</span><span id="line-133"></span><span>
</span><span id="line-134"></span><span id="local-6989586621680802305"><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvKeys"><span class="hs-identifier hs-type">moduleEnvKeys</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802305"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-135"></span><span id="moduleEnvKeys"><span class="annot"><span class="annottext">moduleEnvKeys :: forall a. ModuleEnv a -&gt; [Module]
</span><a href="GHC.Unit.Module.Env.html#moduleEnvKeys"><span class="hs-identifier hs-var hs-var">moduleEnvKeys</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802058"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802058"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Module] -&gt; [Module]
forall a. Ord a =&gt; [a] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#sort"><span class="hs-identifier hs-var">sort</span></a></span><span> </span><span class="annot"><span class="annottext">([Module] -&gt; [Module]) -&gt; [Module] -&gt; [Module]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(NDModule -&gt; Module) -&gt; [NDModule] -&gt; [Module]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Module
</span><a href="GHC.Unit.Module.Env.html#unNDModule"><span class="hs-identifier hs-var hs-var">unNDModule</span></a></span><span> </span><span class="annot"><span class="annottext">([NDModule] -&gt; [Module]) -&gt; [NDModule] -&gt; [Module]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; [NDModule]
forall k a. Map k a -&gt; [k]
</span><a href="../../containers/src/Data.Map.Internal.html#keys"><span class="hs-identifier hs-var">Map.keys</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802058"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-136"></span><span>  </span><span class="hs-comment">-- See Note [ModuleEnv performance and determinism]</span><span>
</span><span id="line-137"></span><span>
</span><span id="line-138"></span><span id="local-6989586621680802297"><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvElts"><span class="hs-identifier hs-type">moduleEnvElts</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802297"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="#local-6989586621680802297"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">]</span></span><span>
</span><span id="line-139"></span><span id="moduleEnvElts"><span class="annot"><span class="annottext">moduleEnvElts :: forall a. ModuleEnv a -&gt; [a]
</span><a href="GHC.Unit.Module.Env.html#moduleEnvElts"><span class="hs-identifier hs-var hs-var">moduleEnvElts</span></a></span></span><span> </span><span id="local-6989586621680802056"><span class="annot"><span class="annottext">ModuleEnv a
</span><a href="#local-6989586621680802056"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">((Module, a) -&gt; a) -&gt; [(Module, a)] -&gt; [a]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">(Module, a) -&gt; a
forall a b. (a, b) -&gt; b
</span><a href="../../base/src/Data.Tuple.html#snd"><span class="hs-identifier hs-var">snd</span></a></span><span> </span><span class="annot"><span class="annottext">([(Module, a)] -&gt; [a]) -&gt; [(Module, a)] -&gt; [a]
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleEnv a -&gt; [(Module, a)]
forall a. ModuleEnv a -&gt; [(Module, a)]
</span><a href="GHC.Unit.Module.Env.html#moduleEnvToList"><span class="hs-identifier hs-var">moduleEnvToList</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleEnv a
</span><a href="#local-6989586621680802056"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-140"></span><span>  </span><span class="hs-comment">-- See Note [ModuleEnv performance and determinism]</span><span>
</span><span id="line-141"></span><span>
</span><span id="line-142"></span><span id="local-6989586621680802293"><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleEnvToList"><span class="hs-identifier hs-type">moduleEnvToList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802293"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="#local-6989586621680802293"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span class="hs-special">]</span></span><span>
</span><span id="line-143"></span><span id="moduleEnvToList"><span class="annot"><span class="annottext">moduleEnvToList :: forall a. ModuleEnv a -&gt; [(Module, a)]
</span><a href="GHC.Unit.Module.Env.html#moduleEnvToList"><span class="hs-identifier hs-var hs-var">moduleEnvToList</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802054"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802054"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-144"></span><span>  </span><span class="annot"><span class="annottext">((Module, a) -&gt; (Module, a) -&gt; Ordering)
-&gt; [(Module, a)] -&gt; [(Module, a)]
forall a. (a -&gt; a -&gt; Ordering) -&gt; [a] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#sortBy"><span class="hs-identifier hs-var">sortBy</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((Module, a) -&gt; Module) -&gt; (Module, a) -&gt; (Module, a) -&gt; Ordering
forall a b. Ord a =&gt; (b -&gt; a) -&gt; b -&gt; b -&gt; Ordering
</span><a href="../../base/src/Data.Ord.html#comparing"><span class="hs-identifier hs-var">comparing</span></a></span><span> </span><span class="annot"><span class="annottext">(Module, a) -&gt; Module
forall a b. (a, b) -&gt; a
</span><a href="../../base/src/Data.Tuple.html#fst"><span class="hs-identifier hs-var">fst</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">[</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802052"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802051"><span class="hs-identifier hs-var">v</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">|</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span><span> </span><span id="local-6989586621680802052"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802052"><span class="hs-identifier hs-var">m</span></a></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680802051"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802051"><span class="hs-identifier hs-var">v</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; [(NDModule, a)]
forall k a. Map k a -&gt; [(k, a)]
</span><a href="../../containers/src/Data.Map.Internal.html#toList"><span class="hs-identifier hs-var">Map.toList</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802054"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-145"></span><span>  </span><span class="hs-comment">-- See Note [ModuleEnv performance and determinism]</span><span>
</span><span id="line-146"></span><span>
</span><span id="line-147"></span><span id="local-6989586621680802284"><span class="annot"><a href="GHC.Unit.Module.Env.html#unitModuleEnv"><span class="hs-identifier hs-type">unitModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802284"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802284"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-148"></span><span id="unitModuleEnv"><span class="annot"><span class="annottext">unitModuleEnv :: forall a. Module -&gt; a -&gt; ModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#unitModuleEnv"><span class="hs-identifier hs-var hs-var">unitModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802049"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802049"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680802048"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802048"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; ModuleEnv a
forall elt. Map NDModule elt -&gt; ModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-var">ModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">NDModule -&gt; a -&gt; Map NDModule a
forall k a. k -&gt; a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#singleton"><span class="hs-identifier hs-var">Map.singleton</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802049"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802048"><span class="hs-identifier hs-var">x</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span>
</span><span id="line-150"></span><span id="local-6989586621680802280"><span class="annot"><a href="GHC.Unit.Module.Env.html#isEmptyModuleEnv"><span class="hs-identifier hs-type">isEmptyModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802280"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span></span><span>
</span><span id="line-151"></span><span id="isEmptyModuleEnv"><span class="annot"><span class="annottext">isEmptyModuleEnv :: forall a. ModuleEnv a -&gt; Bool
</span><a href="GHC.Unit.Module.Env.html#isEmptyModuleEnv"><span class="hs-identifier hs-var hs-var">isEmptyModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleEnv"><span class="hs-identifier hs-type">ModuleEnv</span></a></span><span> </span><span id="local-6989586621680802046"><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802046"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map NDModule a -&gt; Bool
forall k a. Map k a -&gt; Bool
</span><a href="../../containers/src/Data.Map.Internal.html#null"><span class="hs-identifier hs-var">Map.null</span></a></span><span> </span><span class="annot"><span class="annottext">Map NDModule a
</span><a href="#local-6989586621680802046"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-152"></span><span>
</span><span id="line-153"></span><span class="hs-comment">-- | A set of 'Module's</span><span>
</span><span id="line-154"></span><span class="hs-keyword">type</span><span> </span><span id="ModuleSet"><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-var">ModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="../../containers/src/Data.Set.Internal.html#Set"><span class="hs-identifier hs-type">Set</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-type">NDModule</span></a></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#mkModuleSet"><span class="hs-identifier hs-type">mkModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-157"></span><span id="mkModuleSet"><span class="annot"><span class="annottext">mkModuleSet :: [Module] -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#mkModuleSet"><span class="hs-identifier hs-var hs-var">mkModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[NDModule] -&gt; Set NDModule
forall a. Ord a =&gt; [a] -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#fromList"><span class="hs-identifier hs-var">Set.fromList</span></a></span><span> </span><span class="annot"><span class="annottext">([NDModule] -&gt; Set NDModule)
-&gt; ([Module] -&gt; [NDModule]) -&gt; [Module] -&gt; Set NDModule
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[Module] -&gt; [NDModule]
</span><span class="hs-identifier hs-var">coerce</span></span><span>
</span><span id="line-158"></span><span>
</span><span id="line-159"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleSet"><span class="hs-identifier hs-type">extendModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-160"></span><span id="extendModuleSet"><span class="annot"><span class="annottext">extendModuleSet :: Set NDModule -&gt; Module -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#extendModuleSet"><span class="hs-identifier hs-var hs-var">extendModuleSet</span></a></span></span><span> </span><span id="local-6989586621680802043"><span class="annot"><span class="annottext">Set NDModule
</span><a href="#local-6989586621680802043"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621680802042"><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802042"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#insert"><span class="hs-identifier hs-var">Set.insert</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><a href="GHC.Unit.Module.Env.html#NDModule"><span class="hs-identifier hs-var">NDModule</span></a></span><span> </span><span class="annot"><span class="annottext">Module
</span><a href="#local-6989586621680802042"><span class="hs-identifier hs-var">m</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Set NDModule
</span><a href="#local-6989586621680802043"><span class="hs-identifier hs-var">s</span></a></span><span>
</span><span id="line-161"></span><span>
</span><span id="line-162"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#extendModuleSetList"><span class="hs-identifier hs-type">extendModuleSetList</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">]</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-163"></span><span id="extendModuleSetList"><span class="annot"><span class="annottext">extendModuleSetList :: Set NDModule -&gt; [Module] -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#extendModuleSetList"><span class="hs-identifier hs-var hs-var">extendModuleSetList</span></a></span></span><span> </span><span id="local-6989586621680802040"><span class="annot"><span class="annottext">Set NDModule
</span><a href="#local-6989586621680802040"><span class="hs-identifier hs-var">s</span></a></span></span><span> </span><span id="local-6989586621680802039"><span class="annot"><span class="annottext">[Module]
</span><a href="#local-6989586621680802039"><span class="hs-identifier hs-var">ms</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set NDModule -&gt; Module -&gt; Set NDModule)
-&gt; Set NDModule -&gt; [Module] -&gt; Set NDModule
forall (t :: * -&gt; *) b a.
Foldable t =&gt;
(b -&gt; a -&gt; b) -&gt; b -&gt; t a -&gt; b
</span><a href="../../base/src/Data.Foldable.html#foldl%27"><span class="hs-identifier hs-var">foldl'</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(NDModule -&gt; Set NDModule) -&gt; Module -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">((NDModule -&gt; Set NDModule) -&gt; Module -&gt; Set NDModule)
-&gt; (Set NDModule -&gt; NDModule -&gt; Set NDModule)
-&gt; Set NDModule
-&gt; Module
-&gt; Set NDModule
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">(NDModule -&gt; Set NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; NDModule -&gt; Set NDModule
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#insert"><span class="hs-identifier hs-var">Set.insert</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Set NDModule
</span><a href="#local-6989586621680802040"><span class="hs-identifier hs-var">s</span></a></span><span> </span><span class="annot"><span class="annottext">[Module]
</span><a href="#local-6989586621680802039"><span class="hs-identifier hs-var">ms</span></a></span><span>
</span><span id="line-164"></span><span>
</span><span id="line-165"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyModuleSet"><span class="hs-identifier hs-type">emptyModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-166"></span><span id="emptyModuleSet"><span class="annot"><span class="annottext">emptyModuleSet :: Set NDModule
</span><a href="GHC.Unit.Module.Env.html#emptyModuleSet"><span class="hs-identifier hs-var hs-var">emptyModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Set NDModule
forall a. Set a
</span><a href="../../containers/src/Data.Set.Internal.html#empty"><span class="hs-identifier hs-var">Set.empty</span></a></span><span>
</span><span id="line-167"></span><span>
</span><span id="line-168"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#moduleSetElts"><span class="hs-identifier hs-type">moduleSetElts</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">[</span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span class="hs-special">]</span><span>
</span><span id="line-169"></span><span id="moduleSetElts"><span class="annot"><span class="annottext">moduleSetElts :: Set NDModule -&gt; [Module]
</span><a href="GHC.Unit.Module.Env.html#moduleSetElts"><span class="hs-identifier hs-var hs-var">moduleSetElts</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">[Module] -&gt; [Module]
forall a. Ord a =&gt; [a] -&gt; [a]
</span><a href="../../base/src/Data.OldList.html#sort"><span class="hs-identifier hs-var">sort</span></a></span><span> </span><span class="annot"><span class="annottext">([Module] -&gt; [Module])
-&gt; (Set NDModule -&gt; [Module]) -&gt; Set NDModule -&gt; [Module]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">[NDModule] -&gt; [Module]
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">([NDModule] -&gt; [Module])
-&gt; (Set NDModule -&gt; [NDModule]) -&gt; Set NDModule -&gt; [Module]
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Set NDModule -&gt; [NDModule]
forall a. Set a -&gt; [a]
</span><a href="../../containers/src/Data.Set.Internal.html#toList"><span class="hs-identifier hs-var">Set.toList</span></a></span><span>
</span><span id="line-170"></span><span>
</span><span id="line-171"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#elemModuleSet"><span class="hs-identifier hs-type">elemModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span>
</span><span id="line-172"></span><span id="elemModuleSet"><span class="annot"><span class="annottext">elemModuleSet :: Module -&gt; Set NDModule -&gt; Bool
</span><a href="GHC.Unit.Module.Env.html#elemModuleSet"><span class="hs-identifier hs-var hs-var">elemModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Set NDModule -&gt; Bool
forall a. Ord a =&gt; a -&gt; Set a -&gt; Bool
</span><a href="../../containers/src/Data.Set.Internal.html#member"><span class="hs-identifier hs-var">Set.member</span></a></span><span> </span><span class="annot"><span class="annottext">(NDModule -&gt; Set NDModule -&gt; Bool)
-&gt; (Module -&gt; NDModule) -&gt; Module -&gt; Set NDModule -&gt; Bool
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">Module -&gt; NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span>
</span><span id="line-173"></span><span>
</span><span id="line-174"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#intersectModuleSet"><span class="hs-identifier hs-type">intersectModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-175"></span><span id="intersectModuleSet"><span class="annot"><span class="annottext">intersectModuleSet :: Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#intersectModuleSet"><span class="hs-identifier hs-var hs-var">intersectModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set NDModule -&gt; Set NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">Set NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#intersection"><span class="hs-identifier hs-var">Set.intersection</span></a></span><span>
</span><span id="line-176"></span><span>
</span><span id="line-177"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#minusModuleSet"><span class="hs-identifier hs-type">minusModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-178"></span><span id="minusModuleSet"><span class="annot"><span class="annottext">minusModuleSet :: Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#minusModuleSet"><span class="hs-identifier hs-var hs-var">minusModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set NDModule -&gt; Set NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">Set NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#difference"><span class="hs-identifier hs-var">Set.difference</span></a></span><span>
</span><span id="line-179"></span><span>
</span><span id="line-180"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#delModuleSet"><span class="hs-identifier hs-type">delModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-181"></span><span id="delModuleSet"><span class="annot"><span class="annottext">delModuleSet :: Set NDModule -&gt; Module -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#delModuleSet"><span class="hs-identifier hs-var hs-var">delModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set NDModule -&gt; NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; Module -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(NDModule -&gt; Set NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; NDModule -&gt; Set NDModule
forall a b c. (a -&gt; b -&gt; c) -&gt; b -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#flip"><span class="hs-identifier hs-var">flip</span></a></span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#delete"><span class="hs-identifier hs-var">Set.delete</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-182"></span><span>
</span><span id="line-183"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#unionModuleSet"><span class="hs-identifier hs-type">unionModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-184"></span><span id="unionModuleSet"><span class="annot"><span class="annottext">unionModuleSet :: Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#unionModuleSet"><span class="hs-identifier hs-var hs-var">unionModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Set NDModule -&gt; Set NDModule -&gt; Set NDModule)
-&gt; Set NDModule -&gt; Set NDModule -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">Set NDModule -&gt; Set NDModule -&gt; Set NDModule
forall a. Ord a =&gt; Set a -&gt; Set a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#union"><span class="hs-identifier hs-var">Set.union</span></a></span><span>
</span><span id="line-185"></span><span>
</span><span id="line-186"></span><span class="annot"><a href="GHC.Unit.Module.Env.html#unitModuleSet"><span class="hs-identifier hs-type">unitModuleSet</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Module"><span class="hs-identifier hs-type">Module</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleSet"><span class="hs-identifier hs-type">ModuleSet</span></a></span><span>
</span><span id="line-187"></span><span id="unitModuleSet"><span class="annot"><span class="annottext">unitModuleSet :: Module -&gt; Set NDModule
</span><a href="GHC.Unit.Module.Env.html#unitModuleSet"><span class="hs-identifier hs-var hs-var">unitModuleSet</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(NDModule -&gt; Set NDModule) -&gt; Module -&gt; Set NDModule
</span><span class="hs-identifier hs-var">coerce</span></span><span> </span><span class="annot"><span class="annottext">NDModule -&gt; Set NDModule
forall a. a -&gt; Set a
</span><a href="../../containers/src/Data.Set.Internal.html#singleton"><span class="hs-identifier hs-var">Set.singleton</span></a></span><span>
</span><span id="line-188"></span><span>
</span><span id="line-189"></span><span class="hs-comment">{-
A ModuleName has a Unique, so we can build mappings of these using
UniqFM.
-}</span><span>
</span><span id="line-193"></span><span>
</span><span id="line-194"></span><span class="hs-comment">-- | A map keyed off of 'ModuleName's (actually, their 'Unique's)</span><span>
</span><span id="line-195"></span><span class="hs-keyword">type</span><span> </span><span id="ModuleNameEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#ModuleNameEnv"><span class="hs-identifier hs-var">ModuleNameEnv</span></a></span></span><span> </span><span id="local-6989586621680802028"><span class="annot"><a href="#local-6989586621680802028"><span class="hs-identifier hs-type">elt</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.Unique.FM.html#UniqFM"><span class="hs-identifier hs-type">UniqFM</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802028"><span class="hs-identifier hs-type">elt</span></a></span><span>
</span><span id="line-196"></span><span>
</span><span id="line-197"></span><span>
</span><span id="line-198"></span><span class="hs-comment">-- | A map keyed off of 'ModuleName's (actually, their 'Unique's)</span><span>
</span><span id="line-199"></span><span class="hs-comment">-- Has deterministic folds and can be deterministically converted to a list</span><span>
</span><span id="line-200"></span><span class="hs-keyword">type</span><span> </span><span id="DModuleNameEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#DModuleNameEnv"><span class="hs-identifier hs-var">DModuleNameEnv</span></a></span></span><span> </span><span id="local-6989586621680802026"><span class="annot"><a href="#local-6989586621680802026"><span class="hs-identifier hs-type">elt</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Types.Unique.DFM.html#UniqDFM"><span class="hs-identifier hs-type">UniqDFM</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802026"><span class="hs-identifier hs-type">elt</span></a></span><span>
</span><span id="line-201"></span><span>
</span><span id="line-202"></span><span>
</span><span id="line-203"></span><span class="hs-comment">--------------------------------------------------------------------</span><span>
</span><span id="line-204"></span><span class="hs-comment">-- InstalledModuleEnv</span><span>
</span><span id="line-205"></span><span class="hs-comment">--------------------------------------------------------------------</span><span>
</span><span id="line-206"></span><span>
</span><span id="line-207"></span><span class="hs-comment">-- | A map keyed off of 'InstalledModule'</span><span>
</span><span id="line-208"></span><span class="hs-keyword">newtype</span><span> </span><span id="InstalledModuleEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802256"><span class="annot"><a href="#local-6989586621680802256"><span class="hs-identifier hs-type">elt</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="InstalledModuleEnv"><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../containers/src/Data.Map.Internal.html#Map"><span class="hs-identifier hs-type">Map</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802256"><span class="hs-identifier hs-type">elt</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-209"></span><span>
</span><span id="line-210"></span><span id="local-6989586621680802260"><span class="annot"><a href="GHC.Unit.Module.Env.html#emptyInstalledModuleEnv"><span class="hs-identifier hs-type">emptyInstalledModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802260"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-211"></span><span id="emptyInstalledModuleEnv"><span class="annot"><span class="annottext">emptyInstalledModuleEnv :: forall a. InstalledModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#emptyInstalledModuleEnv"><span class="hs-identifier hs-var hs-var">emptyInstalledModuleEnv</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a -&gt; InstalledModuleEnv a
forall elt. Map InstalledModule elt -&gt; InstalledModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a
forall k a. Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#empty"><span class="hs-identifier hs-var">Map.empty</span></a></span><span>
</span><span id="line-212"></span><span>
</span><span id="line-213"></span><span id="local-6989586621680802255"><span class="annot"><a href="GHC.Unit.Module.Env.html#lookupInstalledModuleEnv"><span class="hs-identifier hs-type">lookupInstalledModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802255"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802255"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-214"></span><span id="lookupInstalledModuleEnv"><span class="annot"><span class="annottext">lookupInstalledModuleEnv :: forall a. InstalledModuleEnv a -&gt; InstalledModule -&gt; Maybe a
</span><a href="GHC.Unit.Module.Env.html#lookupInstalledModuleEnv"><span class="hs-identifier hs-var hs-var">lookupInstalledModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span id="local-6989586621680802020"><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802020"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802019"><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802019"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledModule -&gt; Map InstalledModule a -&gt; Maybe a
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Maybe a
</span><a href="../../containers/src/Data.Map.Internal.html#lookup"><span class="hs-identifier hs-var">Map.lookup</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802019"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802020"><span class="hs-identifier hs-var">e</span></a></span><span>
</span><span id="line-215"></span><span>
</span><span id="line-216"></span><span id="local-6989586621680802253"><span class="annot"><a href="GHC.Unit.Module.Env.html#extendInstalledModuleEnv"><span class="hs-identifier hs-type">extendInstalledModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802253"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802253"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802253"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-217"></span><span id="extendInstalledModuleEnv"><span class="annot"><span class="annottext">extendInstalledModuleEnv :: forall a.
InstalledModuleEnv a
-&gt; InstalledModule -&gt; a -&gt; InstalledModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#extendInstalledModuleEnv"><span class="hs-identifier hs-var hs-var">extendInstalledModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span id="local-6989586621680802016"><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802016"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802015"><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802015"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span id="local-6989586621680802014"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802014"><span class="hs-identifier hs-var">x</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a -&gt; InstalledModuleEnv a
forall elt. Map InstalledModule elt -&gt; InstalledModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledModule
-&gt; a -&gt; Map InstalledModule a -&gt; Map InstalledModule a
forall k a. Ord k =&gt; k -&gt; a -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#insert"><span class="hs-identifier hs-var">Map.insert</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802015"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621680802014"><span class="hs-identifier hs-var">x</span></a></span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802016"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-218"></span><span>
</span><span id="line-219"></span><span id="local-6989586621680802251"><span class="annot"><a href="GHC.Unit.Module.Env.html#filterInstalledModuleEnv"><span class="hs-identifier hs-type">filterInstalledModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680802251"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="hs-identifier hs-type">Bool</span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802251"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802251"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-220"></span><span id="filterInstalledModuleEnv"><span class="annot"><span class="annottext">filterInstalledModuleEnv :: forall a.
(InstalledModule -&gt; a -&gt; Bool)
-&gt; InstalledModuleEnv a -&gt; InstalledModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#filterInstalledModuleEnv"><span class="hs-identifier hs-var hs-var">filterInstalledModuleEnv</span></a></span></span><span> </span><span id="local-6989586621680802013"><span class="annot"><span class="annottext">InstalledModule -&gt; a -&gt; Bool
</span><a href="#local-6989586621680802013"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span id="local-6989586621680802012"><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802012"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-221"></span><span>  </span><span class="annot"><span class="annottext">Map InstalledModule a -&gt; InstalledModuleEnv a
forall elt. Map InstalledModule elt -&gt; InstalledModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(InstalledModule -&gt; a -&gt; Bool)
-&gt; Map InstalledModule a -&gt; Map InstalledModule a
forall k a. (k -&gt; a -&gt; Bool) -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#filterWithKey"><span class="hs-identifier hs-var">Map.filterWithKey</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledModule -&gt; a -&gt; Bool
</span><a href="#local-6989586621680802013"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802012"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-222"></span><span>
</span><span id="line-223"></span><span id="local-6989586621680802249"><span class="annot"><a href="GHC.Unit.Module.Env.html#delInstalledModuleEnv"><span class="hs-identifier hs-type">delInstalledModuleEnv</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802249"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#InstalledModule"><span class="hs-identifier hs-type">InstalledModule</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680802249"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-224"></span><span id="delInstalledModuleEnv"><span class="annot"><span class="annottext">delInstalledModuleEnv :: forall a.
InstalledModuleEnv a -&gt; InstalledModule -&gt; InstalledModuleEnv a
</span><a href="GHC.Unit.Module.Env.html#delInstalledModuleEnv"><span class="hs-identifier hs-var hs-var">delInstalledModuleEnv</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-type">InstalledModuleEnv</span></a></span><span> </span><span id="local-6989586621680802009"><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802009"><span class="hs-identifier hs-var">e</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621680802008"><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802008"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a -&gt; InstalledModuleEnv a
forall elt. Map InstalledModule elt -&gt; InstalledModuleEnv elt
</span><a href="GHC.Unit.Module.Env.html#InstalledModuleEnv"><span class="hs-identifier hs-var">InstalledModuleEnv</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledModule -&gt; Map InstalledModule a -&gt; Map InstalledModule a
forall k a. Ord k =&gt; k -&gt; Map k a -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#delete"><span class="hs-identifier hs-var">Map.delete</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledModule
</span><a href="#local-6989586621680802008"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="annot"><span class="annottext">Map InstalledModule a
</span><a href="#local-6989586621680802009"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-225"></span><span>
</span><span id="line-226"></span></pre></body></html>